package com.dmz.java.functional;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.function.Supplier;

/**
 * Supplier：不接受任何输入参数，返回一个结果。
 * (1)T get()：获得结果
 * (2)该方法不需要参数，它会按照某种实现逻辑（由Lambda表达式实现）返回一个数据。
 * (3)Supplier接口也称为生产型接口，如果我们指定了接口的泛型是什么类型，那么接口中的get方法就会生产什么类型的数据供我们使用
 */
public class SupplierHelloWord {
    public static void main(String[] args) {
        String s=getString(()->"唐青枫");
        System.out.println(s);

        Integer i=getInteger(()->10);
        System.out.println(i);
    }

    private static String getString(Supplier<String> sup){
        return sup.get();
    }

    private static Integer getInteger(Supplier<Integer> sup){
        return sup.get();
    }
}
